#!usr/bin/env python  
# -*- coding:utf-8 -*-
""" 
@author:robot
@file: title024.py 
@version:
@time: 2023/05/14
HJ41.称砝码

现有n种砝码，重量互不相等，分别为 m1,m2,m3…mn ；
每种砝码对应的数量为 x1,x2,x3...xn 。现在要用这些砝码去称物体的重量(放在同一侧)，问能称出多少种不同的重量。注：

称重重量包括 0

输入描述：
对于每组测试数据：
第一行：n --- 砝码的种数(范围[1,10])
第二行：m1 m2 m3 ... mn --- 每种砝码的重量(范围[1,2000])
第三行：x1 x2 x3 .... xn --- 每种砝码对应的数量(范围[1,10])

输入
2
1 2
2 1
输出
5
"""
while True:
    try:
        n = int(input())
        m = list(map(int, input().split()))
        x = list(map(int, input().split()))
    except:
        break
    else:
        amount = []
        weights = {0, }
        for i in range(n):  # 循环砝码种类数
            for j in range(x[i]):  # 每种砝码对应的数量
                amount.append(m[i])  # 将所有砝码放入amount统计

        for i in amount:  # 循环所有砝码
            for j in list(weights):  # 循环所有重量
                weights.add(i + j)  # 往结果答案set中加入新的重量，会自动去重
        print(len(weights))
